package string;

/**
 * java。lang.StringBuider专门用于编辑字符串内容的工具类
 * 其内部维护一个可变的char数据
 * 同时提供了编辑字符串内容的相关操作: 增删改插
 */
public class StringBuilderDemo {
    public static void main(String[] args) {
        //StringBuilder的创建方式:
        /*
        StringBuilder builder1 = new StringBuilder();  //空字符串
        StringBuilder builder2 = new StringBuilder("abc");  //abc串
        System.out.println(builder2);
        //String和StringBuilder互转:
        String str = "abc";
        StringBuilder builder3 =new StringBuilder(str);  //abc串，基于String对象构造StringBuilder
        String str2 = builder3.toString();  //将builder转换为String
        System.out.println(builder3);
        */

        String str = "好好学习Java";
        StringBuilder builder = new StringBuilder(str);

        //append():追加内容----在末尾追加
        builder.append(",为了找个好工作");  //在末尾追加内容
        System.out.println(builder);  //好好学习Java，为了找个好工作

        //replace():替换部分内容（含头不含尾）
        builder.replace(9,16,"就是为了改变世界"); //将下标9到15的部分替换为 就是为了改变世界
        System.out.println(builder); //好好学习Java，就是为了改变世界

        //delete():删除部分内容(含头不含尾)
        builder.delete(0,8); //删除下标为0到7的
        System.out.println(builder); //，就是为了改变世界

        //insert():插入内容
        builder.insert(0,"活着");  //在下标0的位置插入 活着
        System.out.println(builder);  //活着，就是为了改变世界
    }
}
